유비쿼터스 랭귀지를 위한 블럭 - 바운디드 컨텍스트

유비쿼터스 랭귀지

유비쿼터스 랭귀지는 구성원들간에 이해하고 있는 용어를 통일해야 한다는 개념이다. 용어에 대한 이해가 다르면 커뮤니케이션에 많은 비용이 든다. 효율적인 커뮤니케이션을 통해 사전에 약속된 명확한 유비쿼터스 랭귀지를 정의해야 한다.

사내에서 사용하는 모든 개념에 대해 통일된 단어로 정의할 수 있다면 얼마나 좋을까? 하지만 실제로 그렇게 하기는 어려운 지점이 많다. 도메인이 커질 수록 정의해야하는 개념들이 너무 많아지게 된다.

정의해야 하는 개념이 많아질수록 명확한 네이밍이 어려워진다. 유비쿼터스 랭귀지가 많아질 수록 인지적 부담도 증가한다.

이럴 때 필요한 것이 바운디드 컨텍스트이다.

바운디드 컨텍스트

바운디드 컨텍스트는 유비쿼터스 랭귀지가 사용되는 범위를 지정하는 것이다.

개발을 할 때 하나의 블럭에서 모든 변수를 사용하지 않는다. 전체 소프트웨어가 작은 블록으로 나눠서 해당 네임스페이스에서 통용되는 명확한 언어들을 사용한다.

바운디드 컨텍스트도 마찬가지다. 각 도메인, 서브 도메인마다 유비쿼터스 랭귀지를 가지게 된다.

바운디드 컨텍스트는 유비쿼터스 랭귀지를 실제 세계에서 활용할 수 있도록 하는 개념이다.


Written by@박대성

독서와 지식관리에 관심이 많은 개발자

GitHub